1. Field of the Invention
The present invention relates to the field of computer systems, in particular, microprocessor based computer systems. More specifically, the present invention is related to the methods employed by these computer systems for debugging the computer system.
2. Background
Various approaches with varying degrees of sophistication and effectiveness in debugging computer systems, including microprocessor based computer systems, have been developed. In fact, often times, multiple approaches are employed to maximize the effectiveness of debugging.
One traditional approach employed by many computer systems is to provide diagnostic ports and corresponding read/write registers. For example, I/O Port 80H and its corresponding read/write register provided on a standard ISA system. Typically, external decode logics are coupled to the diagnostic ports for decoding the content of the registers and displaying diagnostic messages on a display device, for example, an array of LEDs. The approach is simple to implement. The obvious disadvantage is its limited functions and poor usability.
Another traditional approach employed by many computer systems is to provide emulation support logics and a special emulation pin to the CPU. The emulation support logics, when activated, floats all output to the CPU. For example, the on-board circuit emulation pin of the "Intel386.TM. SL" CPU, manufactured by Intel Corporation of Santa Clara, Calif., the assignee of the present invention. Typically, an external emulation module with emulation logics is coupled to the special emulation pin to drive the output signals, thereby permitting testing of the computer system with the CPU installed. The approach is more difficult to implement, but it provides more debugging functions then the previous approach. However, usability is still generally poor. In addition, the approach also has the inherent disadvantage that execution is not performed in the system's normal execution speed. Thus, certain problems, particularly timing problems, might not be detectable.
Yet another traditional approach employed by many computer systems is to provide a software emulator for the computer system. For example, ICE-386 SL Emulator provided for the "Intel386.TM. SL Superset" microprocessor system. The approach is more difficult to implement, but it provides more functions and better usability than the two previous approaches. The obvious disadvantage is the fact that execution is only emulated. Thus, many hardware problems may be undetectable.
Thus, it is desirable to have an improved approach to debugging a computer system where the execution is not emulated and yet the debugging functions and their usability match or exceed those offered by the emulation approach. As will be described, these objects and desired results are among the objects and desired results achieved by the present invention.